The present invention is directed to a computer system, particularly, an interactive software training system permitting dialog with a human operator through the use of a CRT display.
Generally, prior art software training systems and interactive computer programs are created by an authoring system. That is, the authoring system generates a control program that is saved in a form unalterable during the use of the program and produces a set of screens or pictures that are stored in a form unalterable during the use of the program. The control program controls the order of presentation of screens or pictures to the user on a CRT, the flow of the training, and the responses of the computer to the user inputs. The screens, which may display both textual and pictorial data, are usually stored on a disk. In some cases, the screens are created on-the-fly by the control program or produced by another computer program that is linked with the training program. This arrangement is common to computer programs of all types that interface with a human operator.
The prior art software training systems have a number of disadvantages which may be categorized into two groups, both of which are solved by the present invention. A major disadvantage of the prior art systems is that the creation of a complete course requires producing a complex computer program that will anticipate all the possible inputs of a human operator and have a useful response to everyone of them. This is almost always too expensive for a profitable product and many useful response paths are intentionally frozen out, thereby resulting in a less effective training course. Another major disadvantage is that the control programs of prior art systems have no inherent visual linkage to the pictures displayed on the CRT during the development phase of the course program. References to pictures are embedded in the control program along with all the other programming codes necessary to create a functional course. This abstract relationship between the control program and the pictures means that it is easy for the two to get out of synchronization during the development phase of the program. This may result in "bugs" in the program that are difficult to cure. In addition, deletion or modification of one picture has a ripple effect through the entire program requiring complete retesting to insure program integrity.
The present invention inverts the normal construction of a course. Where prior art systems embed picture references into a control program, thus, producing a large executable file containing thousands of programming language command lines, the present invention embeds the control commands necessary to run the course into the graphic pictures the author and operator see. These control commands are called microscripts and may be visible or invisible graphical elements of the complete picture presented to the human operator. The microscripts may be rendered visible and readable to the author of the program by using the transcriber function of the operating system of the invention.
During the development of the course, the author sees exactly the same view of the course, that is, the pictures displayed on the CRT, that the ultimate user will see. The author does not look at a special editor displaying lines of programming code. A course produced by the present invention typically consists of several hundred picture files stored on a disk as individual ASCII coded files. These ASCII coded files can be stored on any medium or any computer that can handle ASCII files. A course or data base produced by the present invention does not have "object code" or "executable code" as is common with prior art computer systems.
While the following discussion of the invention is directed to the creation and display of pictures by the program of the inventions, it is understood that the term "picture" is utilized in a broad sense to describe what is seen by the user or trainee on the CRT screen. The "picture" may include both graphic and textual elements.
The present invention combines the graphical elements in a picture that permit the human operator to see useful information with the graphical elements in a picture that enable the projector function of the operating system of the invention to see the information. The combination of graphic elements including microscript code, is interpreted or read by the operating system in a step by step fashion as the operator makes menu selections or other input choices. In its stored format, each picture of a course developed according to the present invention is totally self-contained and is not affected by changes to any other picture. Each picture is totally isolated from any other picture. Microscript code is embedded on each picture. The microscript may be embedded anywhere in the pixel pattern of the screen. Change in location or multiple locations of the microscript has no affect on the actions precipitated when the microscript code is executed. Each picture may contain hundreds of microscripts. A microscript that is tested and proven to have a useful function can be copied and placed onto any picture any number of times and will always perform exactly the same function where ever and whenever it is selected by the operator and subsequently executed by the operating system.
Prior art systems include means for displaying instructions for the author to see. However, such instructions are temporarily retrieved from some location in memory and are not stored with the other graphical elements of the picture in an inseparable form, as is the case with the present invention. The utilization of microscripts permit each picture to be isolated and independent of each other. In theory, this technique of program module isolation can be implemented in many standard programming languages. In reality, however, complete isolation of modules or procedures is not useful because a subroutine by itself is useless, being only text viewable only with a special editor. The present invention overcomes this disadvantage by providing a technique whereby each picture of a course or data base is isolated and embedded with command functions which may be executed and not linked or dependent on any other command functions embedded on the picture or any other picture in the program. Each picture can be viewed, and is in fact, always being viewed as the picture is created.
The invention of the present disclosure also enables a course to be created that re-writes itself as the operator progresses through the course. Prior art systems can not do this. A course that re-writes itself is different from and potentially more powerful than, a course that intelligently branches based on an analysis of operator input and choices. A course that intelligently branches is often called an expert system. An expert system is just a well written program. It may be a powerful program, but it is always the same program with the same algorithms. A course that rewrites itself, as described herein, is actively changing itself as the human operator progresses through the course. When the course is over, it is different from when it started. Ideally, these changes will be beneficial to the performance of the course. A course or program that re-writes itself must use the same tools on itself that its original human creator used. This is true of the present invention. While the course is running, the operating system writes a microscript code onto the visible pictures just as the original author did. This is a visible process. The user can see the microscript being rewritten on the screen. This ability may be used for many purposes. For example, the program's ability to re-write itself can be used to enable the user to reverse or retrace his path at any time. Path tracking is accomplished by the operating system of the present disclosure by embedding the number of the previous picture accessed by the operator of the course in a specified location on the displayed picture and then replacing the stored version of the current picture with the "re-written" picture. The original picture, as created on that copy of the disk by the author of the program, is gone forever. The newly stored version of the picture has a button labeled RETRACE or a similar notation, that causes the operating system written microscript to be executed by the operating system when the RETRACE button is selected by the user. Selection of the RETRACE button results in the presentation on the CRT screen of the previous picture which was accessed by the operator. This method of re-writing the control codes for the course by automatically embedding micro-script code in the picture displayed on the CRT screen is not limited simply to the above described function. Any number of creative functions to tailor the course to the particular needs of the user may be implemented by causing the operating system to automatically write microscript code on to a screen. Prior art programs can accomplish path tracking, but only by storing the path in a volatile array in memory. The stored path may be lost, however, if the course is interrupted by a memory error, loss of power, system crash, etc. The present invention stores the revised picture on disk as the new picture is being viewed by the user so that path tracking is always available.
Prior art attempts at writing a computer program that re-writes itself generally stumble on the problem of debugging. If the original program has a bug, a very common occurrence in computer programming, it becomes practically impossible to find the original bug because, at the point where the effect of the bug appears, the program has re-written itself into a different program and he code that generated the bug no longer exists. The present disclosure however, does not encounter this problem because each picture is isolated or stands alone as described above, and each picture is stored after it is re-written and can be viewed and tested as a distinct entity at any stage of its evolution.
A course created by the present invention is a collection of pictures having microscript codes embedded therein. It is therefore, an object of the present invention to provide a computer system that functions without reference to a control program to create an interactive training course. The computer system may be used for any purpose that requires an interactive dialogue with the user via the use of a CRT display.
It is another object of the invention to provide a computer system whereby picture screens are created which stand alone or are isolated from any other picture screen. Each picture is totally self-contained and cannot be affected by changes to any other picture.
It is yet another object of the invention to provide a computer system which re-writes its applications as the user progresses through the application created by the system.
It is yet another object of the invention to provide computer system wherein control commands necessary to operate the course are embedded in the graphic picture. The control commands may be visible or invisible graphical elements of the complete picture.